Empire of Colonies: Self-stabilizing and Self-organizing Distributed Algorithms
نویسندگان
چکیده
Self-stabilization ensures automatic recovery from an arbitrary state; we define self-organization as a property of algorithms which display local attributes. More precisely, we say that an algorithm is self-organizing if (1) it converges in sublinear time and (2) reacts “fast” to topology changes. If s(n) is an upper bound on the convergence time and d(n) is an upper bound on the convergence time following a topology change, then s(n) ∈ o(n) and d(n) ∈ o(s(n)). The self-organization property can then be used for gaining, in sublinear time, global properties and reaction to changes. We present self-stabilizing and self-organizing algorithms for many distributed algorithms, including distributed snapshot and leader election. We present a new randomized self-stabilizing distributed algorithm for cluster definition in communication graphs of bounded degree processors. These graphs reflect sensor networks deployment. The algorithm converges in O(log n) expected number of rounds, handles dynamic changes locally and is, therefore, selforganizing. Applying the clustering algorithm to specific classes of communication graphs, in O(log n) levels, using an overlay network abstraction, results in a self-stabilizing and self-organizing distributed algorithm for hierarchy definition. Given the obtained hierarchy definition, we present an algorithm for hierarchical distributed snapshot. The algorithms are based on a new basic snap-stabilizing snapshot algorithm, designed for message passing systems in which a distributed spanning tree is defined and in which processors communicate using bounded links capacity. The combination of the self-stabilizing and self-organizing distributed hierarchy construction and the snapshot algorithm form an efficient selfstabilizer transformer. Given a distributed algorithm for a specific task, we are able to convert the algorithm into a self-stabilizing algorithm for the same task with an expected convergence time of O(log n) rounds.
منابع مشابه
Families of Distributed Memory Parallel Graph Algorithms from Self-Stabilizing Kernels-An SSSP Case Study
Self-stabilizing algorithms are an important because of their robustness and guaranteed convergence. Starting from any arbitrary state, a self-stabilizing algorithm is guaranteed to converge to a legitimate state.Those algorithms are not directly amenable to solving distributed graph processing problems when performance and scalability are important. In this paper, we show the “Abstract Graph M...
متن کاملDeveloping Self-stabilizing Coloring Algorithms via Systematic Randomization
We consider the problem of designing uniform self-stabilizing distributed algorithms for coloring chains and oriented rings. We provide deterministic uniform self-stabilizing algorithms for some of the problems , and impossibility results for the other problems. For problems in the latter class, we present random-ized self-stabilizing algorithms. These results lead to a general method for obtai...
متن کاملAnt algorithms and stigmergy
Ant colonies, and more generally social insect societies, are distributed systems that, in spite of the simplicity of their individuals, present a highly structured social organization. As a result of this organization, ant colonies can accomplish complex tasks that in some cases far exceed the individual capacities of a single ant. The study of ant colonies behavior and of their self-organizin...
متن کاملTowards Automatic Convergence Verification of Self-stabilizing Algorithms
The verification of the self-stabilization property of a distributed algorithm is a complicated task. By exploiting certain analogies between self-stabilizing distributed algorithms and globally asymptotically stable feedback systems, techniques originally developed for the verification of feedback system stability can be adopted for the verification of selfstabilization of distributed algorith...
متن کاملComputer Science Technical Report A Self-Stabilizing Distributed Algorithm to Construct An Arbitrary Spanning Tree of a Connected Graph
We propose a simple self-stabilizing distributed algorithm that maintains an arbitrary spanning tree in a connected graph. In proving the correctness of the algorithm we develop a new technique without using a bounded function (which is customary for proving correctness of self-stabilizing algorithms); the new approach is simple and can be potentially applied to proving correctness of other sel...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006